package com.richpay.basejava.base06;

/**
 * 定义Person类 类中的成分有两种
 * 成员变量: 表示对象的静态特征，即看起来有哪些属性
 * 成员方法: 表示对象的动态特征，即对象具有哪些功能
 */
  class Person {
    /**
    *   给成员变量赋值的方式有;
    *   A、使用成员变量的默认值
    *   B、显示给成员变量赋初值
    *   C、使用对象名.成员变量名=需要赋的值，这种方式给成员变量赋值不安全，可以随意将非法赋值给成员变量。
    *   D、使用setter方法给成员变量赋值，使用getter方法返回成员变量的值
    *       public void setName(String n){
    *       name=n;
    *       }
    *       
    *       public String getName(){
    *       return name;
    *       }
    *
    * 
    *   private:私有的，使用private修饰的成员(成员变量和成员方法)，只能在本类中使用，超出本来范围访问失败
    *
    *
    */
    private String name="晴儿";//给成员变量显示赋初值
    int age=1;
    boolean isMarried;

    void speak(){
        System.out.println("生当作人杰,死亦学Java！");
    }

    void display(){
        System.out.println("name="+name+",age="+age+",isMarried="+isMarried);
    }

    void eat(){
        System.out.println("人吃饭");
    }

    void eat(String food){
        System.out.println("人吃"+food);
    }

    void eat(String name,String food){
        System.out.println(name+"吃"+food);
    }

    void eat(String name,String when,String food){
        System.out.println(name+"在"+when+"吃"+food);
    }
    public void setAge(int age){
        if(age<0){
            System.out.println("年龄非法，请验证后输入");
            return ;//提前结束方法的调用非法值不会赋给成员变量。
        }
        this.age=age;//赋值
    }

    public int getAge(){
        return age;
    }

}
